package com.yycx.module.bus.provider.service;

import com.yycx.common.base.entity.EntityMap;
import com.yycx.common.security.OpenUser;
import com.yycx.module.bus.client.entity.BusCustom;
import com.yycx.common.mybatis.base.service.IBaseService;
import com.yycx.module.bus.client.entity.hy.HyOrder;
import com.yycx.module.system.client.entity.SysCompany;

import java.util.List;

/**
 * 购货方 接口
 *
 * @author flyme
 * @date 2020-08-01
 */
public interface BusCustomService extends IBaseService<BusCustom> {
    /**
     * 查询省份列表
     *
     * @return
     */
    List<EntityMap> selectAreaName();

    /**
     * 同步海鹰数据
     *
     * @param openUser
     */
    void syncHyData(OpenUser openUser);

    /**
     * 同步海鹰数据
     *
     * @param company
     */
    void syncHyCustom(SysCompany company);

    /**
     * 同步客商资料
     *
     * @param companyId
     */
    void syncHyCustom(Long companyId);

    /**
     * 查询客户
     *
     * @return
     */
    List<BusCustom> listByName(String keyword);

    /**
     * 同步客户资料
     *
     * @param dbName
     * @param customCode
     * @param companyId
     */
    BusCustom syncBusCustom(String dbName, String customCode, Long companyId);


    /**
     * 同步海鹰数据
     *
     * @param customCode
     */
    void syncCustomAddress(String customCode);

    /**
     * 根据客户编码查询
     *
     * @param customCode
     * @param companyId
     * @return
     */
    BusCustom selectByCustomCode(String customCode, Long companyId);

    /**
     * 根据客户名称查询
     *
     * @param customName
     * @param companyId
     * @return
     */
    BusCustom selectByCustomName(String customName, Long companyId);

    /**
     * 查询海鹰客商资料
     *
     * @param title
     * @return
     */
    List<EntityMap> selectTop20HyCustomList(String title);

}
